<?php
class CategoryController extends ExtendedController
{
    function __construct()
    {
        $this->loadModel('category',TRUE);
        parent::__construct();
    }
    
    public function index()
    {
        $data = NULL;
        $data = $this->models['category']->handleIndex();
        $view = $this->loadView('category_index');
        $view->setBlockData($data);                
        $view->setBlockData('Quản lí danh mục','title');
        $view->render();
    }

    public function add()
    {
        $data = NULL;
        if(isset($_POST['faction']))
        {
            
            $data = $this->models['category']->handleAdd();
        }

        $data['cat_list'] = array();
        $this->models['category']->getCategories(0,$data['cat_list']);
        $view = $this->loadView('add_category');
        $data['action'] = 'add';
        $view->setBlockData($data);
        $view->setBlockData('Thêm danh mục','title');
        $view->render();
    }

    public function edit($id = NULL)
    {
        $data = NULL;
        if (isset($_POST['faction']))
        {
            $data = $this->models['category']->handleEdit($id);
        }
        $rs = $this->models['category']->getCategory($id);
        if ($rs->getSize() == 0)
        {
            Utility::error("Không tìm thấy danh mục", 'category');
        }
        else
        {
            $data['input'] = $rs->getRow(0);
            $data['cat_list'] = array();
            $this->models['category']->getCategories(0, $data['cat_list']);
            $view = $this->loadView('add_category');
            $data['action'] = 'edit';
            $data['id'] = $id;
            $view->setBlockData($data);
            $view->setBlockData('Sửa danh mục', 'title');
            $view->render();
        }
    }

    public function remove($id)
    {
        if(isset($_POST['submit']))
        {
            $this->models['category']->handleRemove($id);
            Utility::error('Xóa danh mục thành công','category');
        }
        else
        {
            $data['id'] = $id;
            $rs = $this->models['category']->getCategory($id);
            if($rs->getSize() == 0)
            {
                Utility::error("Có lỗi xảy ra",'index');
                exit();
            }
            $data['info'] = $rs->getRow(0);
            $view = $this->loadView('remove_category');
            $view->setBlockData($data);
            $view->setBlockData('Xóa danh mục','title');
            $view->render();
        }
    }
}